#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - Timer cluster"]
    pub timer1: TIMER,
    #[doc = "0x14 - Timer cluster"]
    pub timer2: TIMER,
    #[doc = "0x28 - Timer cluster"]
    pub timer3: TIMER,
    #[doc = "0x3c - Timer cluster"]
    pub timer4: TIMER,
    _reserved4: [u8; 80usize],
    #[doc = "0xa0 - TIMERS_INTSTATUS is the interrupt status register for timers."]
    pub timers_intstatus: crate::Reg<timers_intstatus::TIMERS_INTSTATUS_SPEC>,
    #[doc = "0xa4 - TIMERS_EOI is the interrupt clear register for timers."]
    pub timers_eoi: crate::Reg<timers_eoi::TIMERS_EOI_SPEC>,
    #[doc = "0xa8 - TIMERS_RAWINTSTATUS is the raw interrupt status register for timers."]
    pub timers_rawintstatus: crate::Reg<timers_rawintstatus::TIMERS_RAWINTSTATUS_SPEC>,
}
#[doc = r"Register block"]
#[repr(C)]
pub struct TIMER {
    #[doc = "0x00 - TIMER_LOADCOUNT is the timer initial value register."]
    pub load_count: crate::Reg<self::timer::load_count::LOAD_COUNT_SPEC>,
    #[doc = "0x04 - TIMER_CURRENTVALUE is the timer current value register."]
    pub current_value: crate::Reg<self::timer::current_value::CURRENT_VALUE_SPEC>,
    #[doc = "0x08 - TIMER_CONTROLREG is the timer control register."]
    pub control: crate::Reg<self::timer::control::CONTROL_SPEC>,
    #[doc = "0x0c - TIMER_EOI is the timer interrupt clear register"]
    pub eoi: crate::Reg<self::timer::eoi::EOI_SPEC>,
    #[doc = "0x10 - TIMER_INTSTATUS is the timer interrupt status register."]
    pub interrupt_status: crate::Reg<self::timer::interrupt_status::INTERRUPT_STATUS_SPEC>,
}
#[doc = r"Register block"]
#[doc = "Timer cluster"]
pub mod timer;
#[doc = "TIMERS_INTSTATUS register accessor: an alias for `Reg<TIMERS_INTSTATUS_SPEC>`"]
pub type TIMERS_INTSTATUS = crate::Reg<timers_intstatus::TIMERS_INTSTATUS_SPEC>;
#[doc = "TIMERS_INTSTATUS is the interrupt status register for timers."]
pub mod timers_intstatus;
#[doc = "TIMERS_EOI register accessor: an alias for `Reg<TIMERS_EOI_SPEC>`"]
pub type TIMERS_EOI = crate::Reg<timers_eoi::TIMERS_EOI_SPEC>;
#[doc = "TIMERS_EOI is the interrupt clear register for timers."]
pub mod timers_eoi;
#[doc = "TIMERS_RAWINTSTATUS register accessor: an alias for `Reg<TIMERS_RAWINTSTATUS_SPEC>`"]
pub type TIMERS_RAWINTSTATUS = crate::Reg<timers_rawintstatus::TIMERS_RAWINTSTATUS_SPEC>;
#[doc = "TIMERS_RAWINTSTATUS is the raw interrupt status register for timers."]
pub mod timers_rawintstatus;
